home *** CD-ROM | disk | FTP | other *** search
/ Florida State Football -…ate Multimedia Experience / Florida State Football - Ultimate Multimedia Experience.iso / pc / setup.mst < prev    next >
Text File  |  1995-09-06  |  7KB  |  255 lines

  1. '**************************************************************************
  2. '*                       College Sports Series
  3. '**************************************************************************
  4.  
  5. DECLARE FUNCTION WinExec Lib "Kernel" (arg1$, arg2%) As Integer
  6.  
  7. '$DEFINE DEBUG  ''Define for script development/debugging
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11.  
  12. ''Dialog ID's
  13. CONST DESTPATH     = 100 
  14. CONST SUCCESS      = 200
  15. CONST ADVINSTALL   = 300
  16. CONST ASKQUIT      = 400
  17. CONST EXITQUIT     = 410
  18. CONST EXITFAILURE  = 420 
  19. CONST BADPATH      = 500
  20. CONST APPHELP      = 1000
  21.  
  22. 'Not used in this version
  23. CONST REGISTER     = 210
  24. CONST FOUNDQT      = 6000
  25. CONST ASKQTPATH    = 6100
  26. CONST CUSTINST     = 6200
  27. CONST TOOBIG       = 6300
  28.  
  29.  
  30. ''Bitmap ID
  31. CONST LOGO = 1
  32.  
  33.  
  34. ''Define GLOBALS
  35. GLOBAL DEST$        ''Default destination directory.
  36. GLOBAL EXENAME$      ''Name of the executable
  37. GLOBAL GRPNAME$        ''Group Name for Program Manager (specific to each college)
  38. GLOBAL PRGNAME$      ''Program Name (specific to each college)
  39. GLOBAL PREF$        ''Name of the preference file (specific to each college)
  40.  
  41. ''School specific constants
  42. GRPNAME$  = "Florida State Football"
  43. PRGNAME$  = "Florida State"
  44. EXENAME$  = "CSSFSU"
  45. PREF$     = "fsu_pref"
  46.  
  47. ''Dialog Button values (These strings are passed back in the ADVINSTALL section)
  48. README$    = "BACK"
  49. INSTALLQT$ = "CONTINUE"
  50.  
  51.  
  52. DECLARE SUB Install
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54.  
  55.  
  56. INIT:
  57.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  58.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  59.  
  60.     SetBitmap CUIDLL$, LOGO
  61.     SetTitle "Stella Interactive"
  62.  
  63.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  64.     IF szInf$ = "" THEN
  65.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  66.     END IF
  67.     ReadInfFile szInf$
  68.  
  69.     DEST$ = "C:\" + EXENAME
  70.  
  71. '$IFDEF DEBUG
  72.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  73.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  74.     IF IsDriveValid(WinDrive$) = 0 THEN
  75.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  76.         GOTO QUIT
  77.     END IF
  78. '$ENDIF ''DEBUG
  79.  
  80.  
  81. GETPATH:
  82.     SetSymbolValue "EditTextIn", DEST$
  83.     SetSymbolValue "EditFocus", "END"
  84. GETPATHL1:
  85.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  86.     DEST$ = GetSymbolValue("EditTextOut")
  87.  
  88.     IF sz$ = "CONTINUE" THEN
  89.         IF IsDirWritable(DEST$) = 0 THEN
  90.             GOSUB BADPATH
  91.             GOTO GETPATHL1
  92.         END IF
  93.         UIPop 1
  94.     ELSEIF sz$ = "REACTIVATE" THEN
  95.         GOTO GETPATHL1
  96.     ELSE
  97.         GOSUB ASKQUIT
  98.         GOTO GETPATH
  99.     END IF
  100.  
  101.  
  102.     Install
  103.  
  104.  
  105. QUIT:
  106.     ON ERROR GOTO ERRQUIT
  107.  
  108.     IF ERR = 0 THEN
  109.         dlg% = SUCCESS
  110.     ELSEIF ERR = STFQUIT THEN
  111.         dlg% = EXITQUIT
  112.     ELSE
  113.         dlg% = EXITFAILURE
  114.     END IF
  115. QUITL1:
  116.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  117.     IF sz$ = "REACTIVATE" THEN
  118.         GOTO QUITL1
  119.     END IF
  120.     UIPop 1
  121.       
  122.  
  123.     IF ERR = 0 THEN
  124.         GOSUB ADVINSTALL
  125.     END IF
  126.  
  127.     END
  128.  
  129.  
  130. ERRQUIT:
  131.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  132.     END
  133.  
  134.  
  135.  
  136. ADVINSTALL:
  137.     sz$ = UIStartDlg(CUIDLL$, ADVINSTALL, "FQuitDlgProc", 0, "")
  138.  
  139.     IF sz$ = "REACTIVATE" THEN
  140.         GOTO ADVINSTALL
  141.     ELSEIF sz$ = README$ THEN           ' Read the Goodies file
  142.         i% = winexec ("c:\windows\write.exe " + DEST$ + "\goodies.wri", 3)
  143.         GOTO ADVINSTALL
  144.     ELSEIF sz$ = INSTALLQT$ THEN     ' Install QuickTime 
  145.         i% = winexec (DEST$ + "\qtinstal.exe", 3)
  146. '        GOTO ADVINSTALL
  147.     END IF
  148.  
  149.     UIPop 1                            ' EXIT button clicked
  150.     RETURN
  151.  
  152.  
  153.  
  154.  
  155. BADPATH:
  156.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  157.     IF sz$ = "REACTIVATE" THEN
  158.         GOTO BADPATH
  159.     END IF
  160.     UIPop 1
  161.     RETURN
  162.  
  163.  
  164.  
  165. ASKQUIT:
  166.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  167.  
  168.     IF sz$ = "EXIT" THEN
  169.         UIPopAll
  170.         ERROR STFQUIT
  171.     ELSEIF sz$ = "REACTIVATE" THEN
  172.         GOTO ASKQUIT
  173.     ELSE
  174.         UIPop 1
  175.     END IF
  176.     RETURN
  177.  
  178.  
  179. FOUNDQT:
  180.     sz$ = UIStartDlg(CUIDLL$, FOUNDQT, "FQuitDlgProc", 0, "")
  181.  
  182.     IF sz$ = "EXIT" THEN
  183.         UIPopAll
  184.         ERROR STFQUIT
  185.     ELSEIF sz$ = "REACTIVATE" THEN
  186.         GOTO FOUNDQT
  187.     ELSE
  188.         UIPop 1
  189.     END IF
  190.     RETURN
  191.  
  192.  
  193.  
  194. '**
  195. '** Purpose:
  196. '**     Builds the copy list and performs all installation operations.
  197. '** Arguments:
  198. '**     none.
  199. '** Returns:
  200. '**     none.
  201. '*************************************************************************
  202. SUB Install STATIC
  203.     
  204.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  205.     CreateDir DEST$, cmoNone
  206.  
  207.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  208.     WriteToLogFile ""
  209.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  210.     WriteToLogFile ""
  211.     WriteToLogFile "May have had to create the directory: " + DEST$
  212.     WriteToLogFile ""
  213.  
  214.     AddSectionFilesToCopyList "Setup", SrcDir$, DEST$
  215.     CopyFilesInCopyList
  216.  
  217.     CreateProgmanGroup GRPNAME$, "", cmoNone
  218.     ShowProgmanGroup  GRPNAME$, 1, cmoNone
  219.     CreateProgmanItem GRPNAME$, PRGNAME$, MakePath(DEST$,EXENAME + ".exe"), "", cmoOverwrite  
  220.     CreateProgmanItem GRPNAME$, "Install QTW2.03", MakePath(DEST$,"qtinstal.exe"), "", cmoOverwrite
  221.     CreateProgmanItem GRPNAME$, "Preface", "write.exe "+MakePath(DEST$,PREF$ + ".wri"), DEST$+"\news.ico", cmoOverwrite
  222.     CreateProgmanItem GRPNAME$, "Stella Profile", "write.exe "+MakePath(DEST$,"profile.wri"), DEST$+"\stella.ico", cmoOverwrite
  223.     CreateProgmanItem GRPNAME$, "Goodies", "write.exe "+MakePath(DEST$,"goodies.wri"), DEST$+"\postit.ico", cmoOverwrite
  224.     
  225.     ''AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  226.  
  227.     CloseLogFile
  228.  
  229. END SUB
  230.  
  231.  
  232.  
  233. '**
  234. '** Purpose:
  235. '**     Appends a file name to the end of a directory path,
  236. '**     inserting a backslash character as needed.
  237. '** Arguments:
  238. '**     szDir$  - full directory path (with optional ending "\")
  239. '**     szFile$ - filename to append to directory
  240. '** Returns:
  241. '**     Resulting fully qualified path name.
  242. '*************************************************************************
  243. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  244.     IF szDir$ = "" THEN
  245.         MakePath = szFile$
  246.     ELSEIF szFile$ = "" THEN
  247.         MakePath = szDir$
  248.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  249.         MakePath = szDir$ + szFile$
  250.     ELSE
  251.         MakePath = szDir$ + "\" + szFile$
  252.     END IF
  253. END FUNCTION
  254.  
  255.